﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace TestImport.Model.DatabaseRepositories
{
    public abstract partial class DatabaseRepository
    {
        /******************/
        /* Boeklijst_Boek */
        /******************/

        public DataTable Boeklijst_Boek_GetData()
        {
            return defaultExecuteReaderDataTable(CommandType.Text, "SELECT groepCode, boeklijstItemID, boekID, isbnNr, boeksoortCode, opmerking, categorieCode, huurboek, schoolPrijs, huurPrijs, boeklijstID, titel, auteur, uitgeverCode, categorieOmschrijving, uitgeverNaam FROM Boeklijst_Boek");
        }

        public DataTable Boeklijst_Boek_GetDataByGroepCode(string groepCode)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@groepCode", groepCode);
                dbManager.ExecuteReader(CommandType.Text, "SELECT groepCode, boeklijstItemID, boekID, isbnNr, boeksoortCode, opmerking, categorieCode, huurboek, schoolPrijs, huurPrijs, boeklijstID, titel, auteur, uitgeverCode, categorieOmschrijving, uitgeverNaam FROM Boeklijst_Boek WHERE groepCode = @groepCode ORDER BY categorieCode");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

        public DataTable Boeklijst_Boek_GetDataByGroepCodeEnIsbnNr(int groepCode, int isbnNr)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(2);
                dbManager.AddParameters(0, "@groepCode", groepCode);
                dbManager.AddParameters(1, "@isbnNr", isbnNr);
                dbManager.ExecuteReader(CommandType.Text, "SELECT groepCode, boeklijstItemID, boekID, isbnNr, boeksoortCode, opmerking, categorieCode, huurboek, schoolPrijs, huurPrijs, boeklijstID, titel, auteur, uitgeverCode, categorieOmschrijving, uitgeverNaam FROM Boeklijst_Boek WHERE groepCode = @groepCode AND isbnNr = @isbnNr");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

        public DataTable Boeklijst_Boek_GetDataByIsbnNr(int isbnNr)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@isbnNr", isbnNr);
                dbManager.ExecuteReader(CommandType.Text, "SELECT groepCode, boeklijstItemID, boekID, isbnNr, boeksoortCode, opmerking, categorieCode, huurboek, schoolPrijs, huurPrijs, boeklijstID, titel, auteur, uitgeverCode, categorieOmschrijving, uitgeverNaam FROM Boeklijst_Boek WHERE isbnNr = @isbnNr");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

    }
}
